package service;

import domain.Book;
import domain.User;

import java.util.List;

public interface UserService {
    /**
     * 注册
     * @param avatar 头像
     * @param name 昵称
     * @param username 用户名(用于登录)
     * @param password 密码
     * @param email 邮箱(用于找回)
     */
    void register(String avatar,String name,String username,String password,String email);

    /**
     * 登录
     * @param username 用户名
     * @param password 密码
     * @return 是否成功 true 成功   false 失败
     */
    Boolean checkPassowrd(String username, String password);

    /**
     * 获取用户信息
     * @param username username
     * @return User实例化对象
     */
    User getUserInfo(String username);
    /**
     * 获取用户信息
     * @param uid uid
     * @return User实例化对象
     */
    User getUserInfo(int uid);
    /**
     * 检查登录所用cookies是否正确
     * @return 是否正确
     */
    Boolean checkUserloginCookies(String psm,String usm,int uid);
    /**
     * 获取最新的历史，默认为0；
     * @param uid 用户id
     * @return 书籍id
     */
    int getLastHistory(int uid);

    /**
     * 获取用户上传的书籍列表
     * @param user 用户
     * @return 书籍列表
     */
    List<Book> getUserbook(User user);

    /**
     * 获取收藏列表
     * @param user 用户实例化对象
     * @return bid列表
     */
    List<Integer> getCollect(User user);

    /**
     * 添加收藏
     * @param bid 书籍id
     * @param uid 用户id
     */
    void addCollect(int uid,int bid);

    /**
     * 删除收藏
     * @param uid 用户id
     * @param bid 书籍id
     */
    void delCollect(int uid,int bid);
}
